package com.Lacia.emsserver.pojo;

/**
 * 计量电表
 * @author 万里花
 * @date 2024/6/6 14:51
 */
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class MeterMyData {

    /**
     * 时间戳
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    @JsonProperty("timestamp")
    private Instant timestamp;

    /**
     * 总有功功率
     */
    private Double meterTotP;

    /**
     * 当前正向总尖有功电能
     */
    private Double meterVerPos;

    /**
     * 当前正向总峰有功电能
     */
    private Double meterHigPos;

    /**
     * 当前正向总平有功电能
     */
    private Double meterMidPos;

    /**
     * 当前正向总谷有功电能
     */
    private Double meterLowPos;

    /**
     * 当前反向总有功电能
     */
    private Double meterAddNeg;

    /**
     * 当前反向总尖有功电能
     */
    private Double meterVerNeg;

    /**
     * 当前反向总峰有功电能
     */
    private Double meterHigNeg;

    /**
     * 当前反向总平有功电能
     */
    private Double meterMidNeg;

    /**
     * 当前反向总谷有功电能
     */
    private Double meterLowNeg;

    /**
     * 总无功功率
     */
    private Double meterTotQ;

    /**
     * 当前组合有功尖电能
     */
    private Double meterVerP;

    /**
     * 当前组合有功峰电能
     */
    private Double meterHigP;

    /**
     * 当前组合有功平电能
     */
    private Double meterMidP;

    /**
     * 当前组合有功谷电能
     */
    private Double meterLowP;

    /**
     * 当前组合无功尖电能
     */
    private Double meterVerQ;

    /**
     * 当前组合无功峰电能
     */
    private Double meterHigQ;

    /**
     * 当前组合无功平电能
     */
    private Double meterMidQ;

    /**
     * 当前组合无功谷电能
     */
    private Double meterLowQ;

    /**
     * A相正向有功电能
     */
    private Double meterPosA;

    /**
     * B相正向有功电能
     */
    private Double meterPosB;

    /**
     * C相正向有功电能
     */
    private Double meterPosC;

    /**
     * 堆号(户外柜默认0)
     */
    private Integer arrNum;

    /**
     * 簇号(户外柜默认0)
     */
    private Integer cluNum;

    /**
     * 设备号(户外柜默认0)
     */
    private Integer devNum;

    /**
     * 频率
     */
    private Double meterFreq;

    /**
     * a相电压
     */
    private Double meterVolA;

    /**
     * b相电压
     */
    private Double meterVolB;

    /**
     * c相电压
     */
    private Double meterVolC;

    /**
     * a相电流
     */
    private Double meterCurA;

    /**
     * b相电流
     */
    private Double meterCurB;

    /**
     * c相电流
     */
    private Double meterCurC;

    /**
     * 总功率因数
     */
    private Double meterTotPf;

    /**
     * 当前组合有功总电能
     */
    private Double meterAddP;

    /**
     * 当前组合无功总电能
     */
    private Double meterAddQ;

    /**
     * 当前正向总有功电能
     */
    private Double meterAddPos;
}

